package com.pet.service;

import com.pet.pojo.AdoptionApplication;
import com.pet.pojo.PageRequest;
import com.pet.pojo.PageResult;

/**
 * 领养申请服务层接口
 */
public interface AdoptionApplicationService {
    
    /**
     * 提交领养申请
     * @param application 领养申请信息
     * @return 是否成功
     */
    boolean submitApplication(AdoptionApplication application);
    
    /**
     * 更新申请状态
     * @param id 申请ID
     * @param status 申请状态
     * @return 是否成功
     */
    boolean updateApplicationStatus(Integer id, Integer status);
    
    /**
     * 根据ID查询申请
     * @param id 申请ID
     * @return 申请信息
     */
    AdoptionApplication getApplicationById(Integer id);
    
    /**
     * 根据宠物ID查询申请列表
     * @param petId 宠物ID
     * @param pageRequest 分页参数
     * @return 分页结果
     */
    PageResult<AdoptionApplication> getApplicationsByPetId(Integer petId, PageRequest pageRequest);
    
    /**
     * 查询所有申请
     * @param pageRequest 分页参数
     * @return 分页结果
     */
    PageResult<AdoptionApplication> getAllApplications(PageRequest pageRequest);
} 